package com.cloud.api.domain.sys;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.core.entity.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author haohaibo
 * @since 2023-09-13
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("t_dept_extend")
@Schema(name = "DeptExtend", description = "部门扩展表")
public class DeptExtend extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "部门id")
    @TableId("dept_id")
    private String deptId;

    @Schema(description = "父部门id")
    @TableField("parent_id")
    private String parentId;

    @Schema(description = "部门编号")
    @TableField("dept_code")
    @Size(min = 4, max = 4,message = "部门编号限制4位字符")
    private String deptCode;

    @Schema(description = "部门名称")
    @TableField("dept_name")
    private String deptName;

    @Schema(description = "部门类型，由字典控制")
    @TableField("dept_type")
    private String deptType;

    @Schema(description = "二级分类，经销商分类")
    @TableField("station_type")
    private String stationType;

    @Schema(description = "营业状态:1：正常营业，0：已关闭")
    @TableField("status")
    private Integer status;

    @Schema(description = "部门状态（0正常 1停用）")
    @TableField(exist = false)
    private Integer enable;

    @Schema(description = "省")
    @TableField("province")
    private String province;

    @Schema(description = "市")
    @TableField("city")
    private String city;

    @Schema(description = "区/县")
    @TableField("district")
    private String district;

    @Schema(description = "详细地址")
    @TableField("detail_addr")
    @Size(max = 100 ,message = "详细地址限制100位字符")
    private String detailAddr;

    @Schema(description = "坐标")
    @TableField("location")
    private String location;

    @Schema(description = "联系方式")
    @TableField("contact")
    private String contact;

    @Schema(description = "联系人")
    @TableField("contact_man")
    private String contactMan;

    @Schema(description = "是否允许订车")
    @TableField("book_car")
    private Integer bookCar;

    @Schema(description = "是否允许索赔")
    @TableField("pay_for")
    private Integer payFor;

    @Schema(description = "是否允许配件")
    @TableField("part")
    private Integer part;

    @Schema(description = "说明")
    @TableField("description")
    private String description;

    @Schema(description = "收货人")
    @TableField("receive_man")
    private String receiveMan;

    @Schema(description = "收货人电话")
    @TableField("receive_phone")
    private String receivePhone;

    @Schema(description = "收货省份")
    @TableField("receive_province")
    private String receiveProvince;

    @Schema(description = "收货城市")
    @TableField("receive_city")
    private String receiveCity;

    @Schema(description = "收货详细地址")
    @TableField("receive_detail_addr")
    private String receiveDetailAddr;

}
